package com.ruoyi.salaryBase.service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.ruoyi.salaryBase.domain.BaseSalary;
import com.ruoyi.salaryBase.domain.BaseSalaryChangeVO;
import com.ruoyi.salaryBase.domain.BaseSalaryVO;

/**
 * 员工基本薪资Service接口
 * 
 * @author cxs
 * @date 2025-05-30
 */
public interface IBaseSalaryService 
{
    /**
     * 查询员工基本薪资
     * 
     * @param id 员工基本薪资主键
     * @return 员工基本薪资
     */
    public BaseSalary selectBaseSalaryById(Long id);

    /**
     * 查询员工基本薪资列表
     * 
     * @param baseSalary 员工基本薪资
     * @return 员工基本薪资集合
     */
    public List<BaseSalaryVO> selectBaseSalaryList(BaseSalaryVO baseSalary);

    /**
     * 新增员工基本薪资
     * 
     * @param baseSalary 员工基本薪资
     * @return 结果
     */
    public int insertBaseSalary(BaseSalary baseSalary);

    /**
     * 修改员工基本薪资
     * 
     * @param baseSalary 员工基本薪资
     * @return 结果
     */
    public int updateBaseSalary(BaseSalary baseSalary);

    /**
     * 批量删除员工基本薪资
     * 
     * @param ids 需要删除的员工基本薪资主键集合
     * @return 结果
     */
    public int deleteBaseSalaryByIds(Long[] ids);

    /**
     * 删除员工基本薪资信息
     * 
     * @param id 员工基本薪资主键
     * @return 结果
     */
    public int deleteBaseSalaryById(Long id);

    /**
     * 查看调薪列表
     * @param baseSalary
     * @return
     */
    List<BaseSalaryChangeVO> selectChangeList(BaseSalaryVO baseSalary);

    /**
     * 统计
     * @return
     */
    List<Map<String, Object>> statistics();

    /**
     * 部门统计
     * @param baseSalary
     */
    HashMap deptStatistics(BaseSalaryVO baseSalary);
}
